/*     */ package com.iris.egrant.utils;
/*     */ 
/*     */ import java.util.ArrayList;
/*     */ import java.util.Arrays;
/*     */ import java.util.Collection;
/*     */ import java.util.Enumeration;
/*     */ import java.util.HashSet;
/*     */ import java.util.Iterator;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ import java.util.Properties;
/*     */ import java.util.Set;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public abstract class CollectionUtils
/*     */ {
/*     */   public static boolean isEmpty(Collection collection) {
/*  32 */     return (collection == null || collection.isEmpty());
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean isEmpty(Map map) {
/*  43 */     return (map == null || map.isEmpty());
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean containsInstance(Collection collection, Object element) {
/*  59 */     if (collection != null) {
/*  60 */       for (Iterator it = collection.iterator(); it.hasNext(); ) {
/*  61 */         Object candidate = it.next();
/*  62 */         if (candidate.equals(element)) {
/*  63 */           return true;
/*     */         }
/*     */       } 
/*     */     }
/*  67 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean contains(Iterator iterator, Object element) {
/*  81 */     if (iterator != null) {
/*  82 */       while (iterator.hasNext()) {
/*  83 */         Object candidate = iterator.next();
/*  84 */         if (ObjectUtils.nullSafeEquals(candidate, element)) {
/*  85 */           return true;
/*     */         }
/*     */       } 
/*     */     }
/*  89 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean contains(Enumeration enumeration, Object element) {
/* 103 */     if (enumeration != null) {
/* 104 */       while (enumeration.hasMoreElements()) {
/* 105 */         Object candidate = enumeration.nextElement();
/* 106 */         if (ObjectUtils.nullSafeEquals(candidate, element)) {
/* 107 */           return true;
/*     */         }
/*     */       } 
/*     */     }
/* 111 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean hasUniqueObject(Collection collection) {
/* 124 */     if (isEmpty(collection)) {
/* 125 */       return false;
/*     */     }
/* 127 */     boolean hasCandidate = false;
/* 128 */     Object candidate = null;
/* 129 */     for (Iterator it = collection.iterator(); it.hasNext(); ) {
/* 130 */       Object elem = it.next();
/* 131 */       if (!hasCandidate) {
/* 132 */         hasCandidate = true;
/* 133 */         candidate = elem; continue;
/* 134 */       }  if (!candidate.equals(elem)) {
/* 135 */         return false;
/*     */       }
/*     */     } 
/* 138 */     return true;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Object findValueOfType(Collection collection, Class type) throws IllegalArgumentException {
/* 154 */     if (isEmpty(collection)) {
/* 155 */       return null;
/*     */     }
/* 157 */     Class typeToUse = (type != null) ? type : Object.class;
/* 158 */     Object value = null;
/* 159 */     for (Iterator it = collection.iterator(); it.hasNext(); ) {
/* 160 */       Object obj = it.next();
/* 161 */       if (typeToUse.isInstance(obj)) {
/* 162 */         if (value != null) {
/* 163 */           throw new IllegalArgumentException("More than one value of type [" + typeToUse.getName() + "] found");
/*     */         }
/*     */         
/* 166 */         value = obj;
/*     */       } 
/*     */     } 
/* 169 */     return value;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Object findValueOfType(Collection collection, Class[] types) throws IllegalArgumentException {
/* 186 */     if (isEmpty(collection) || ObjectUtils.isEmpty((Object[])types)) {
/* 187 */       return null;
/*     */     }
/* 189 */     for (Class type : types) {
/* 190 */       Object value = findValueOfType(collection, type);
/* 191 */       if (value != null) {
/* 192 */         return value;
/*     */       }
/*     */     } 
/* 195 */     return null;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static List arrayToList(Object source) {
/* 211 */     return Arrays.asList(ObjectUtils.toObjectArray(source));
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static void mergePropertiesIntoMap(Properties props, Map<String, String> map) {
/* 227 */     if (map == null) {
/* 228 */       throw new IllegalArgumentException("Map must not be null");
/*     */     }
/* 230 */     if (props != null) {
/* 231 */       for (Enumeration<?> en = props.propertyNames(); en.hasMoreElements(); ) {
/* 232 */         String key = (String)en.nextElement();
/* 233 */         map.put(key, props.getProperty(key));
/*     */       } 
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static boolean containsAny(Collection source, Collection candidates) {
/* 244 */     if (isEmpty(source) || isEmpty(candidates)) {
/* 245 */       return false;
/*     */     }
/* 247 */     for (Iterator it = candidates.iterator(); it.hasNext();) {
/* 248 */       if (source.contains(it.next())) {
/* 249 */         return true;
/*     */       }
/*     */     } 
/* 252 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Object findFirstMatch(Collection source, Collection candidates) {
/* 262 */     if (isEmpty(source) || isEmpty(candidates)) {
/* 263 */       return null;
/*     */     }
/* 265 */     for (Iterator it = candidates.iterator(); it.hasNext(); ) {
/* 266 */       Object candidate = it.next();
/* 267 */       if (source.contains(candidate)) {
/* 268 */         return candidate;
/*     */       }
/*     */     } 
/* 271 */     return null;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static List<List<Long>> analysisArrayScope(List<Long> destList, List<Long> srcList) {
/* 282 */     Set<Long> compareSet = new HashSet<Long>();
/* 283 */     List<Long> ignoreList = new ArrayList<Long>();
/* 284 */     List<Long> newlyList = new ArrayList<Long>();
/*     */     
/* 286 */     List<List<Long>> entirList = new ArrayList<List<Long>>();
/*     */     
/* 288 */     if (srcList.isEmpty() || destList.isEmpty()) {
/* 289 */       entirList.add(srcList);
/* 290 */       entirList.add(destList);
/* 291 */       entirList.add(new ArrayList<Long>());
/* 292 */       return entirList;
/*     */     } 
/*     */     
/* 295 */     for (Long destItem : destList) {
/* 296 */       compareSet.add(destItem);
/*     */     }
/* 298 */     for (Long srcItem : srcList) {
/* 299 */       if (compareSet.contains(srcItem)) {
/* 300 */         compareSet.remove(srcItem);
/* 301 */         ignoreList.add(srcItem); continue;
/*     */       } 
/* 303 */       newlyList.add(srcItem);
/*     */     } 
/*     */     
/* 306 */     List<Long> detachList = new ArrayList<Long>(compareSet);
/* 307 */     entirList.add(newlyList);
/* 308 */     entirList.add(detachList);
/* 309 */     entirList.add(ignoreList);
/* 310 */     return entirList;
/*     */   }
/*     */   
/*     */   public static void main(String... strings) {}
/*     */ }


/* Location:              D:\文件kjt\WEB-INF\lib\egrant-core-2.2.20240205.1659.jar!\com\iris\egran\\utils\CollectionUtils.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       1.1.3
 */